package com.xydtech.ecard.ecard.service.impl;

import com.xydtech.common.utils.AESEncryptionUtils;
import com.xydtech.common.utils.StringUtils;
import com.xydtech.ecard.ecard.domain.EcardApiMerchantTask;
import com.xydtech.ecard.ecard.mapper.EcardApiMerchantTaskMapper;
import com.xydtech.ecard.ecard.service.IEcardApiMerchantTaskService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 电子名片商户任务记录Service业务层处理
 *
 * @author xydtech
 * @date 2023-07-31
 */
@Service
public class EcardApiMerchantTaskServiceImpl implements IEcardApiMerchantTaskService {
    @Autowired
    private EcardApiMerchantTaskMapper ecardMerchantTaskMapper;

    /**
     * 查询电子名片商户任务记录
     *
     * @param id 电子名片商户任务记录主键
     * @return 电子名片商户任务记录
     */
    @Override
    public EcardApiMerchantTask selectEcardMerchantTaskById(Long id) {
        return ecardMerchantTaskMapper.selectEcardMerchantTaskById(id);
    }

    /**
     * 查询电子名片个人/商户/企业/新型农业主体任务记录列表
     *
     * @param cmRegistId 办理人
     * @param merchantType 商户类型：1-个人，2-商户，3-企业，4-新型农业主体
     * @param search 查询条件
     * @return 电子名片商户任务记录
     */
    @Override
    public List<EcardApiMerchantTask> getMerchantTaskList(Long cmRegistId, String merchantType, String search, Long deptId, String phone, String salt) {
        try {
            //数据加密（手机号、身份证号）
            if (!StringUtils.objIsNullOrEmpty(phone)) {
                phone = (AESEncryptionUtils.encrypt(phone, salt));
            }
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
        return ecardMerchantTaskMapper.getMerchantTaskList(cmRegistId, merchantType, search, deptId, phone);
    }

    /**
     * 新增电子名片商户任务记录
     *
     * @param ecardMerchantTask 电子名片商户任务记录
     * @return 结果
     */
    @Override
    public int insertEcardMerchantTask(EcardApiMerchantTask ecardMerchantTask) {
        return ecardMerchantTaskMapper.insertEcardMerchantTask(ecardMerchantTask);
    }

    /**
     * 修改任务记录状态
     *
     * @param ecardMerchantTask 电子名片商户任务记录
     * @return 结果
     */
    @Override
    public int updateMerchantTaskSts(EcardApiMerchantTask ecardMerchantTask) {
        return ecardMerchantTaskMapper.updateMerchantTaskSts(ecardMerchantTask);
    }

    /**
     * 根据商户ID查询任务记录
     *
     * @author yjs
     * @date 2023/7/31 17:00
     */
    @Override
    public EcardApiMerchantTask getMerchantTaskByMerchantId(Long merchantId) {
        return ecardMerchantTaskMapper.getMerchantTaskByMerchantId(merchantId,"");
    }

}